Last updated on Monday, October 06, 2025
@article{Soetens2016ESEM,
author = {Quinten David Soetens and Serge Demeyer and
Andy Zaidman and Javier P{\'e}rez},
journal = {Empirical Software Engineering},
month = oct,
note = {SCI impact factor 1.393, ranked 27 / 106 in Computer
Science, Software Engineering --- 2015},
number = {1},
pages = {1 -- 43},
publisher = {Springer Berlin Heidelberg},
title = {Change-based test selection: an empirical evaluation},
volume = {21},
year = {2016},
abstract = {Regression test selection (i.e., selecting a subset
of a given regression test suite) is a problem that
has been studied intensely over the last decade.
However, with the increasing popularity of developer
tests as the driver of the test process, more
fine-grained solutions that work well within the
context of the Integrated Development Environment
(IDE) are in order. Consequently, we created two
variants of a test selection heuristic which exploit
fine-grained changes recorded during actual
development inside the IDE. One variant only
considers static binding of method invocations while
the other variant takes dynamic binding into account.
This paper investigates the tradeoffs between these
two variants in terms of the reduction (i.e., How
many tests could we omit from the test suite, and how
much did we gain in runtime execution?) as well as
the fault detection ability of the reduced test suite
(i.e., Were tests omitted erroneously?). We used our
approach on three distinct cases, two open source
cases ---Cruisecontrol and PMD--- and one industrial
case --- Historia. Our results show that only
considering static binding reduces the test suite
significantly but occasionally omits a relevant test;
considering dynamic binding rarely misses a test yet
often boils down to running the complete test suite.
Nevertheless, our analysis provides indications on
when a given variant is more appropriate.",},
annote = {internationaljournal},
doi = {10.1007/s10664-015-9405-5},
issn = {1573-7616},
}